C#中的list<T>的相关问题

来源:百度知道 编辑:UC知道 时间:2024/07/07 16:39:12
C#中的list<T>,Collection<T>,IEnumerable<T>这些表达是什么意思,为什么不能直接写成T的形式;
有没有这方面的好的资源推荐一下

还有下面的代码,我看了具晕
public partial class Job
{
public static Job GetJob(int id, out Message msg)
{
}
为什么这里是返回一个这个类,还有这个返回的这类怎么还是个静态的,还有,是不是实列化这个类时怎么列化,这究竟是个什么表达?

像<T>这种是泛型的用法,举个的例子,我有两个List,一个是存放的String类型的数据,一个是存放的Integer类型的数据,不用泛型的时候取数据时需要强转,万一粗心一下,把存String类型的list强转成Integer类型,这不就错了吗?而泛型就会让编译器去帮你检查,假入你想往一个村Integer类型的泛型集合里放入String类型数据,编译器就会报错。这样也不会出现强转导致错误的问题。

一个方法需要有什么返回值是根据需要定的,你这个方法是根据id和msg来查出一个符合条件的Job对象,然后将它返回。比如,我有个Student类,我需要根据学生的学号查循学生一样。静态方法在类加载的时候就已经创建好了,而后来创建的那些该类的对象都共享一个方法。

第一个问题:
List<T>, Collection<T>, IEnumerable<T> 是.NET 2.0 中引入的泛型的表达。比如说List<T>定义了一个列表, 至于列表中每个元素的类型并没有加以限定。 用的时候可以这样:
List<int> array1 = new List<int>(); //定义一个整型的列表
List<string> array2 = new List<string>(); //定义一个字符串类型的列表

第2个问题:
public static Job GetJob(int id, out Message msg) 在Job上定义了一个静态方法,用的时候不用先生成一个Job类的对象而可以直接在Job上调用这个方法。即Job.GetJob(), 如果没有这个static关键字的话,必须用Job job1 = new Job(), job1.GetJob()
还有方法的返回值可以是任何类

给你个例子,自己看吧。就明白了。
public List<string> strList(string str1,string str2)
{
List<string> lis